package com.easy.auth.service;

import java.util.List;

import com.easy.auth.domain.Action;
import com.easy.common.web.PagedList;

public interface ActionService {

	/**
	 * 获取所有资源
	 * 
	 * @return
	 */
	PagedList<Action> getAllActions();
	
	/**
	 * 更具oid查询资源
	 * 
	 * @return
	 */
	Action findActionById(Action action);
	
	/**
	 * 更新编辑后的资源
	 * @param action
	 * @return
	 */
	int saveAction(Action action);
	
	/**
	 * 删除选中的资源
	 * @param action
	 * @return
	 */
	int removeActions(String[] oids);
	
	/**
	 * 根据用户id和parentid获取用户权限内的链接
	 * @param userId
	 * @param parent 链接的父节点
	 * @return
	 */
	List<Action> getActionByUserId(String userId,
			String parent);
	
	/**
	 * 根据用户id获取用户权限内的链接(TreeGrid数据格式)
	 * @param userId
	 * @return
	 */
	PagedList<Action> getActionsByUserId(String userId);
	
	/**
	 * 根据用户id更新链接
	 * @param userid
	 * @param chekcedIds
	 * @return
	 */
	int updateUserActions(String userid,String[] chekcedIds);
	
	/**
	 * 根据角色id获取链接(TreeGrid数据格式)
	 * @param userId
	 * @return
	 */
	PagedList<Action> getActionsByRoleId(String roleid);
	
	/**
	 * 根据角色id更新链接资源
	 * @param roleid
	 * @param checkedids
	 * @return
	 */
	int updateRoleActions(String roleid, String[] checkedids);
	
	/**
	 * 根据部门id获取链接(TreeGrid数据格式)
	 * @param userId
	 * @return
	 */
	PagedList<Action> getActionsByDeptId(String deptId);
	
	/**
	 * 根据角色id更新链接资源
	 * @param roleid
	 * @param checkedids
	 * @return
	 */
	int updateDeptActions(String deptId, String[] checkedids);
	
	/**
	 * 生成新增命令的排序编号
	 * @return
	 */
	String getSortNo();
	
	int changeSort(String firstId, String secondId);
}
